Searching Algorithms شرح

النهاردة بقا هنتكلم على الجوزرم مشهور جدا هو Searching Algorithms



دردشة

البوست اللى فات عرفنا يعنى أيه Algorithms
النهاردة بقا هنتكلم على الجوزرم مشهور جدا هو Searching Algorithms

--------------------------------------------------------------------------------------------------------------------------------------

التعريف

ال search algorithm اتصمم عشان تعمل فانكشن تدور بيها على عنصر جوا الداتا بتاعتك عشان ترجع ليك true لو موجود او false لو مش موجود
او ممكن ترجع ليك عنصر انت بتدور عليه فى الداتا عندك.
ال search algorithms عندك بينقسموا ال two categories او نوعين.

1️⃣ Sequential Search
لو انت عندك list or array انت عشان عايز تدور على عنصر جواها بتعمل ايه بتعمل loop تمشى على ال array دى عنصر عنصر لحد ما تلاقيه النوع دا بيعمتد على كدا وبتستخدمه فى حاله انك بتدور عشوائى ودا مفيش منه غير algorithm واحد بيستخدمها هو Linear Search

2️⃣ Interval Search
ال algorithms اللى بتكون تبع النوع دا بتشتغل
على sorted data-structures ودى بتكون اكثر كفاءه ليه لانها بتقسم الداتا كل مره لنصفين وتبدا تستبعد جزء وتدور فى التانى وتكرر الموضوع دا لحد ما توصل مثال على النوع دا
Binary Search
---------------------------------------------------------------------------------------------------------------

مثال

تعالى كدا نتخيل لو جمعنا أسماء الناس اللى على الكوكب كله وحبينا ندور على أسمك تفتكر لو استخدمنا مره Linear ,ومره binary .
📌 Linear Search



هتحتاج تلف على كل اسم تشوف هل بيساوى أسمك ولا لا يعنى لو احنا معانا List فيها 7 مليار وويجز فى وحده ☺️
واسمك اخر اسم يبقى محتاج تلف 7 مليار مره فى ال worst case
اللى هى عندك هنا هتكون O(n شوف بقا هتاخد وقت قد ايه استخدم القانون بقا من البوست اللى فات😅
📌 Binary Search


فى الالجورزم دا لو اسمك برضو اخر اسم اكتر حاجه هتاخدها 35 مره شوف بقا من بعد ما كنت هتلف 7 مليار بقت 35 متخيل وفرت وقت قد ايه
لانها بتتقسم كل مره ف worst case هتكون log n

---------------------------------------------------------------------------------------------------------------

الشرح

--------------------------------------------------------------------------------------------------------------------------------------

الى اللقاء

طبعا فى انواع تانيه كتير لكن دا الاتنين دول بالذات فيه تباين بينهم فالمعظم بيشرح بيهم عشان يبان الفرق ممكن تسرش وتشوف algorithms تانيه للسيرش .
غير ان انت كمان ممكن تستخدم الفانكشن ال built in اللى فى اللغه وتخلص نفسك بس اوقات انت بتكون عايز تسيرش بطريقه معينه او تزود عمليه او تفلتر حاجه من الداتا اللى راجعه بحيث مش ترجع كلها او ايا كان عشان كدا لازم تعرف كل الجوزرم بيشتغل ازى مش تكتب كود وخلاص.

بس كدا انا خلصت عندكوا اى تعليقات او اضافه ياريت تعرفونا ومتنساش تعمل لايك وشير وصبصكرايب معلش اندمجت شويه😍😍
يلا سلاااااام.

Comments